Development information

â„šī¸ Overview

GnollHack is actively developed for Android, iOS, and Windows using a modern .NET MAUI codebase. Legacy versions of the game (such as Xamarin.Forms and native Win32/ASCII clients) are deprecated and no longer maintained.

Here is a quick directory of key design and structure documentation:

🧑‍đŸ’ģ Modern Client Development (.NET MAUI)

This is the primary technology stack for GnollHack development. It compiles a single C# codebase targeting mobile and desktop platforms.

đŸ“ĸ Important: If you are new to the codebase, you must read this first:

âš™ī¸ Essential Guides & Setup

These files contain complex development instructions that may require some time to digest:

💡 Tip: Before setting up your machine, check the Known Working Build Setups to ensure your OS and SDK versions match a verified configuration.

đŸ› ī¸ Modern Client Build Instructions

Detailed, step-by-step guides for compiling the modern application:

âš ī¸ Warning (Common Pitfall): Ensure that the .NET MAUI workload is fully installed inside Visual Studio. Missing platform workloads (Android/iOS) will cause project loading errors.

❓ Troubleshooting & Technical Reference

📋 Publishing Checklist

â„šī¸ Additional Information

đŸ–Ĩī¸ Modern Client Supported Platforms

The table below summarizes support for the modern client. Note that emulator performance varies, and platform support is subject to CPU architecture availability.

Platform Technology CPU Arch Solution Projects Emulator Support1
Android .NET MAUI Arm64, x642 GnollHackM GnollHackM Yes4
iOS .NET MAUI Arm64 GnollHackM GnollHackM Yes4
Windows .NET MAUI x64, (Arm643) GnollHackM GnollHackM No5
  • 1 Emulator support refers to whether the port is supported by popular cross-operating-system emulators.
  • 2 Android x64 binaries are used by Android emulators running on a Windows machine with an x64 CPU, such as the Google Play Games for PC emulator.
  • 3 .NET MAUI supports Arm64 on Windows, but we have not built Arm64 binaries because we do not have a Windows test device with an Arm64 CPU.
  • 4 May exhibit odd behavior or crash.
  • 5 GnollHack's modern Windows port (.NET MAUI) does not run on Wine or Proton because they do not support running WinUI 3 applications.

đŸ’ģ Future Platform Support

  • Support for macOS using .NET MAUI / Mac Catalyst or Avalonia UI is planned, though implementation may take some time.
  • Linux support for the modern client is planned using Avalonia UI, pending the maturity of the technology stack.
  • Currently, there are no plans to support gaming consoles or controllers (such as the Steam Deck).

📖 Background Articles

These articles provide historical context and technical background. They are easy to digest and are highly recommended for developers who want to understand the choices behind our architecture.

📋 Additional Technical Information

🛑 Legacy Clients (Obsolete)

🛑 Caution: The following sections describe legacy versions and ports that are no longer actively supported or maintained. They are kept here for historical reference only. Do not use these targets for active feature development.

📱 Legacy Mobile Ports (Xamarin.Forms)

đŸ–Ĩī¸ Legacy Windows Ports (1990s UI Style)

đŸ’ģ Legacy Linux Port

📋 Legacy Clients Support Table

Platform Technology CPU Arch Solution Projects Emulator Support1
Android Xamarin.Forms Arm64 GnollHack GnollHackX, GnollHackX.Android Yes3
iOS Xamarin.Forms Arm64 GnollHack GnollHackX, GnollHackX.iOS Yes3
Windows ASCII x64 GnollHack GnollHack Yes
Windows ComCtl32 Controls x64 GnollHack GnollHackW Yes
Linux ASCII x64 N/A2 N/A2 N/A
  • 1 Emulator support refers to whether the port is supported by popular cross-operating-system emulators.
  • 2 The Linux version is built on Linux as described in Build Instructions for ASCII Version on Linux.
  • 3 May exhibit odd behavior or crash.

đŸē Gnoll Overseer

🤖 AI

  • AI Skills — GnollHack development-related skills to be used with AI agents
  • AI Safety Settings — Gnoll Overseer safety settings